/*
 * Rep. einen Gegenstand Schachtel
 * Attribute:
 * 	--> Inhalt: rep. den Inhalt der Schachtel
 */

public class Schachtel extends Gegenstand{

	private Gegenstand Inhalt;

	public Schachtel(Form A) 
	{	
		super(A);
		this.Inhalt = null;
	
	}
	/*
	 * Eine Methode volumen fuer eine Schachtel, die das 
	 * Volumen einer Schachtel zurueckliefert (Aussenmasse). 
	 * Das Volumen berechnet sich aus Grundflaeche*Hoehe. 
	 */
	public double volumen()
	{
		double gr = super.getform().getGrundflaeche();
		if(super.getform() instanceof Kreis)
		{
			double r = Math.sqrt(gr/Math.PI);
			return super.getform().getHoehe()*(r+5)*(r+5)*Math.PI;
		}
		else if(super.getform() instanceof Rechteck)
		{
			double a = Math.sqrt(gr);
			return super.getform().getHoehe()*(a+10)*(a+10);
		}
		else
		{
			return 0;
		}
	}
	//Setzt Inhalt der Schachtel
	public void setInhalt(Gegenstand A)
	{
		this.Inhalt= A;
	}
	//Gibt Inhalt der Schachtel zurueck
	public Gegenstand getInhalt()
	{
		return this.Inhalt;
	}

}